A process is an instance of a computer program that is being executed. That is, a computer program is a passive collection of instructions and a process is the actual execution of those instructions. Depending on the operating system, a process may be made up of multiple threads of execution that execute instructions concurrently.
A process may fail for a variety of reasons. For example, there may be a software bug in the software running or in the underlying middleware or kernel software. A software bug is an error, flow, mistake, failure or fault in a computer program or system that produces an incorrect or unexpected result or causes it to behave in unintended ways.
A process may be designed to handle many types of “jobs,” where a job refers to a set of functions that need to be completed in order to accomplish a given task (e.g., deploying a new instance of a virtual machine). If a process runs multiple jobs, then a software bug in one of the jobs may result in the entire process failing thereby causing the other jobs executing on the process to fail. Furthermore, a process that runs multiple jobs is more likely to run for an extended period of time thereby preventing the process from being recycled (i.e., stopped and restarted) which increases the chances of a process failure occurring.
As a result, running multiple jobs in the same process may increase the chances in the failure of both the process and the jobs executing on the process.